/**
 * 
 */
package com.cplsystems.incidencias.vm.incidencias;

import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ContextParam;
import org.zkoss.bind.annotation.ContextType;
import org.zkoss.bind.annotation.Init;
import org.zkoss.bind.annotation.NotifyChange;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.select.Selectors;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Window;

import com.cplsystems.incidencias.business.Faltas;
import com.cplsystems.incidencias.vm.incidencias.utils.FaltasDetailsVariables;

/**
 * @author César Palalía López (csr.plz@aisa-automation.com)
 * 
 */
public class FaltasDetailsVM extends FaltasDetailsVariables {

	private static final long serialVersionUID = -7331426024515382729L;
	@Wire("#faltasWindow")
	private Window faltasWindow;
	
	@Init
	public void init(@ContextParam(ContextType.VIEW) Component view) {
		super.init();
		Selectors.wireComponents(view, this, false);
	}

	@NotifyChange({ "nuevaFalta", "faltas" })
	@Command
	public void registrarFalta() {
		if (nuevaFalta != null) {
			faltas.add(nuevaFalta);
		}
		nuevaFalta = new Faltas();  
	}

	@NotifyChange({ "faltaSeleccionada", "faltas" })
	@Command
	public void eliminarFalta() {
		if (faltaSeleccionada != null) {
			faltas.remove(faltaSeleccionada);
		}
	}
	
	@Command
	public void disposeWindow() {
		faltasWindow.detach();
	}

}
